package com.zut.service;

import com.zut.pojo.Link;
import com.zut.pojo.Result;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author: Mr.Liu
 * @create: 2021-11-13 13:09
 */
public interface LinkService {
    /**
     * 根据长链接生成短链接
     * @param longLink
     * @param length
     * @return
     */
    Result createLinkId(String longLink, HttpServletRequest request, int length);


    /**
     * 根据短链接的ID重定向
     * @param id
     * @return
     */
    String findId(String id);

    /**
     * 获取所有的链接信息
     * @return
     */
    Result getAllLink(Integer current);

    /**
     * 根据id删除链接
     * @param id
     * @return
     */
    Result deleteLink(String id,HttpServletRequest request);

    /**
     * 定制短链接
     * @param id
     * @param longLink
     * @return
     */
    Result createVipLink(String id, String longLink, HttpServletRequest request);

    /**
     * 取出点击量前十的链接
     * @return
     */
    List<Link> topTen();

    /**
     * 根据用户的ID返回用户自己的短链接
     * @param request
     * @return
     */
    List<Link> getLinkByUserId(HttpServletRequest request);
}
